{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<center>\n",
    "<img src=\"../../img/ods_stickers.jpg\" />\n",
    "    \n",
    "## [mlcourse.ai](https://mlcourse.ai) – Open Machine Learning Course \n",
    "### <center> Author: Name as in the rating, ODS Slack nickname\n",
    "    \n",
    "## <center> Tutorial\n",
    "### <center> \"Your topic\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Rules\n",
    "Read carefully the [roadmap](https://mlcourse.ai/roadmap)!\n",
    "This time you are asked to publish a tutorial as a Kaggle Kernel in [mlcourse.ai Dataset](https://www.kaggle.com/kashnitsky/mlcourse).\n",
    "\n",
    "\n",
    "## Exemplar topics  \n",
    "Here are a dozen of exemplar topics (but this is a just as an example, you can/should come up with your own):\n",
    "\n",
    "#### Pandas & Data Analysis\n",
    "- Data collection, crawling, working with XML, JSON etc.\n",
    "- Working with big DataFrames, Dask. \n",
    "- Optimizing memory usage while working with NumPy, Pandas and pure Python\n",
    "- Working with JSON and XML in Pandas\n",
    "- When to use SQL with Pandas or just SQL\n",
    "- Feather data format\n",
    "- Reducing memory consumption while analyzing data: tips & tricks\n",
    "- Data analysis with bash (utilizing extremely efficient command line utils)\n",
    " \n",
    "#### Visualization\n",
    " - Overview of Bokeh or another viz library\n",
    " - Working with geo-spatial data in Python\n",
    " - Creating animations for data analysis\n",
    " - Tree visualization in Python (smth more than standard graphviz)\n",
    " - Dimentionality reduction for visualization (there are some methods besides t-SNE, e.g. UMAP)\n",
    " \n",
    "#### Decision trees & kNN\n",
    " - Decision trees with statistical tests in the nodes\n",
    " - Overview of H2O library\n",
    " - kNN in production systems: Annoy \n",
    " - kNN as a strong baseline in recommender systems\n",
    " \n",
    "#### Linear models\n",
    "\n",
    " - Poisson/quantile or another type of regression\n",
    " - Multi-label classification\n",
    " - Efficient implementation of linear models (based QR-decomposition or similar)\n",
    " - Median and quantile regression\n",
    " - Interpreting linear models: SHAP, eli5\n",
    "\n",
    "#### Features & Validation\n",
    " - Counters in supervised learning tasks: WOE, smoothed likelihood and other methods of feature engineering based on the target feature\n",
    " - there is much more in Scikit-learn that we didn't cover (NestedCV, GroupKFold etc)\n",
    "\n",
    "#### Bagging and Random Forest\n",
    " - Interpreting RF by reducing forests to trees\n",
    " - Compressing random forests\n",
    " - Various heuristics for assessing feature importance in forests and boosting\n",
    " \n",
    "#### Unsupervised learning\n",
    " - Review of some clustering method (with motivation, why it is needed)\n",
    " - Efficient PCA implementation, Randomized PCA, online PCA\n",
    " - Unsupervised learning in real tasks\n",
    " - Word2Vec applied to sequential data (even website sessions like in the \"Alice\" competition)\n",
    "\n",
    "#### SGD & Vowpal Wabbit\n",
    " - Something that better covers the course material, e.g. a broader review of Vowpal Wabbit \n",
    " - Matrix factorization, FMs and Vowpal Wabbit implementation\n",
    " - FTRL algorithm: Follow the regularized leader\n",
    "\n",
    "#### Time series\n",
    " - Predicting multiple time series at the same time\n",
    " - Detecting anomalies in time series\n",
    " \n",
    "#### Boosting\n",
    " - CatBoost overview + examples where it works really well \n",
    " - Overview of the H2O library\n",
    " - Gradient boosting and GPU speedup\n",
    "\n",
    "#### Other\n",
    " - A/B tests and interleaving\n",
    " - Bayesian methods of hyperparameter optimization\n",
    " - Versioning datasets (ex. DVC.org)\n",
    " - Optimizing non-trivial metrics: tips & tricks\n",
    " - Closer to business metrics: uplift modelling (pylift)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
